package com.sh.rpc.server;

import io.vertx.core.Vertx;


/**
 * http 服务器
 */
public class VertxHttpServer implements HttpServer {

/*    @Override
    public void doStart(int port) {
        // 创建Vertx实例
        Vertx vertx = Vertx.vertx();

        io.vertx.core.http.HttpServer server = vertx.createHttpServer();

        server.requestHandler(request -> {
            System.out.println("收到请求 ： " + request.method() + "   路径为： " + request.uri());

            request.response().putHeader("content-type", "text/plain").end("Hello World!");
        });

        server.listen(port, result -> {
           if ( result.succeeded() ) {
               System.out.println("服务启动成功, 端口为 " + port);
           } else {
               System.out.println("服务启动失败");
           }
        });
    }*/

    /**
     * 启动服务器
     * @param port
     */
    @Override
    public void doStart(int port) {
        // 创建Vertx实例
        Vertx vertx = Vertx.vertx();
        io.vertx.core.http.HttpServer server = vertx.createHttpServer();
        // 监听端口并处理   用的是自定义的 Handler
        server.requestHandler( new HttpServerHandler());

        // 启动 HTTP 服务器并监听指定端口
        server.listen(port, result -> {
            if (result.succeeded()) {
                System.out.println("服务启动成功，端口为：  " + port);
            } else {
                System.err.println("服务启动失败 " + result.cause());
            }
        });

    }





}
